技術問答
技術文章
iT 徵才
Tag
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2023 iThome 鐵人賽
DAY
13
1
Modern Web
30天全端:關於網站實作的聊聊
系列 第
13
篇
【DAY13】 MVVM & MVC的比較
15th鐵人賽
mvc
mvvc
Bonnie1226
團隊
消波塊上的海洋貓貓
2023-09-28 19:34:19
648 瀏覽
分享至
想當初這是大學時期一直搞混的東西
來做個比較吧!
MVVM & MVC的比較
組成不同
MVVM : View被替換為ViewModel(視圖模型),ViewModel負責管理視圖的狀態
MVC : View負責呈現數據,而Controller處理用戶輸入和協調Model和View之間的通信。
雙向綁定與否
MVVM : 常常使用雙向數據綁定,當ViewModel的數據更改時,View會
自動更新
,反之亦然。
MVC : 通常需要手動更新視圖以呈現模型的變化,並且控制器處理此過程。
UI邏輯位置
MVVM : 大部分UI邏輯位於ViewModel中,使ViewModel更容易測試和維護
MVC : UI邏輯通常在Controller,Controller會包含大量的UI相關邏輯,因此變得複雜。
測試性差異
MVVM : 因為ViewModel是獨立的單元,會比MVC更容易測試,,
MVC : UI邏輯混合在Controller中,使測試較困難
最後,採用模式還是要基於應用程序的需求、開發團隊的經驗和特定的技術。
明天見!
留言
追蹤
檢舉
上一篇
【DAY12】 MVVM(Model-View-ViewModel)
下一篇
【DAY14】 資料庫概念聊聊
系列文
30天全端:關於網站實作的聊聊
共
30
篇
目錄
RSS系列文
訂閱系列文
7
人訂閱
26
【DAY26】開發人員工具(1)
27
【DAY27】開發人員工具 (2) & cookies
28
【DAY28】request
29
【DAY29】使用pyodbc連線MSSQL
30
【DAY30】結語啦啦啦
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19761
篇
完賽人數
529
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
桌機三更半夜自動開機不知在幹啥?是在下載還是在上傳資料?嚇死寶寶.去查設定我沒有設定在三更半夜更新或是掃毒呀!去查紀錄亦沒有當日凌晨的瀏覽紀錄,這到底是怎麼一回事,要如何查詢?是被安裝了病毒軟體?
碩士學歷能幫助我突破職涯天花板嗎?
群輝NAS套件Docker部署Outline
維護合約的合理性
如何讓Windows 11 Professional 開啟Synology DS925+網路芳鄰的速度加快?
librenms 25.4.0 重開機都要重新設定
Librenms ssl憑證檢查 通知方式
熱門回答
碩士學歷能幫助我突破職涯天花板嗎?
維護合約的合理性
群輝NAS套件Docker部署Outline
桌機三更半夜自動開機不知在幹啥?是在下載還是在上傳資料?嚇死寶寶.去查設定我沒有設定在三更半夜更新或是掃毒呀!去查紀錄亦沒有當日凌晨的瀏覽紀錄,這到底是怎麼一回事,要如何查詢?是被安裝了病毒軟體?
librenms 25.4.0 重開機都要重新設定
熱門文章
資安入門與實務應用介紹 28:APT(高階持續性威脅)攻擊解析與防範方法
D30|AI 時代的資訊判讀力:防詐、反假、識謊的新資安素養
資安入門與實務應用介紹 29:智能合約漏洞與加密貨幣詐騙案例分析
Day 7:防火牆配置與流量過濾(Firewall Configuration and Traffic Filtering)
Day 25:社交工程防範訓練方法(Social Engineering Defense Training)
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}